The Input.c module might include routines such as InputInteger, InputDouble, InputString, etc.
Each data type nominally has a separate but similar function declaration.
Suppose you desired to add a new data type to your library, for example complex: You would need to modify every file in your collection in order to define new functions such as InputComplex, OutputComplex, NewComplexArray, etc.